package br.edu.granbery.indianostore.action;

import java.io.IOException;
import java.text.NumberFormat;
import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import br.edu.granbery.indianostore.controller.Action;
import br.edu.granbery.indianostore.model.Produto;

public class MeuCarrinhoAction implements Action {

	@Override
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		RequestDispatcher view;
		Locale ptBr = new Locale("pt", "BR");
		NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(ptBr);
		HttpSession sessao = request.getSession(true);
		List<Produto> produtos = (List<Produto>) sessao
				.getAttribute("Carrinho");
		if (sessao.getAttribute("Carrinho") == null) {
			try {
				view = request.getRequestDispatcher("/index.jsp");
				view.forward(request, response);
			} catch (ServletException ex) {
				Logger.getLogger(CadastrarProdutoAction.class.getName()).log(
						Level.SEVERE, null, ex);
			}
		} else {
			double valor = 0;
			for (Produto produto : produtos) {
				valor = valor + produto.getValor();
			}
			String valorTotal = moedaFormat.format(valor);
			request.setAttribute("valortotal", valorTotal);

			try {
				view = request
						.getRequestDispatcher("/View/Carrinho/Carrinho.jsp");
				view.forward(request, response);
			} catch (ServletException ex) {
				Logger.getLogger(CadastrarProdutoAction.class.getName()).log(
						Level.SEVERE, null, ex);
			}
		}
	}

}
